- form = local_assigns.fetch(:form)
- readonly = @user.read_only_attribute?(:email)
- email_change_disabled = local_assigns.fetch(:email_change_disabled, nil)
- read_only_help_text = readonly ? s_("Profiles|Your email address was automatically set based on your %{provider_label} account") % { provider_label: attribute_provider_label(:email) } : user_email_help_text(@user)
- help_text = email_change_disabled ? s_("Your account uses dedicated credentials for the \"%{group_name}\" group and can only be updated through SSO.") % { group_name: @user.managing_group.name } : read_only_help_text
- password_automatically_set = @user.password_automatically_set?

.form-group.gl-form-group
  = form.label :email, _('Email')
  = form.text_field :email, required: true, class: 'gl-form-input form-control gl-md-form-input-lg', value: (@user.email unless @user.temp_oauth_email?), readonly: readonly || email_change_disabled
  %small.form-text.text-gl-muted
    = help_text.html_safe

  - unless password_automatically_set
    = hidden_field_tag 'user[validation_password]', :validation_password, class: 'js-password-prompt-field', help: s_("Profiles|Enter your password to confirm the email change")

.form-group.gl-form-group
  = form.label :public_email, s_('Profiles|Public email')
  .gl-md-form-input-lg
    = form.select :public_email,
      options_for_select(@user.public_verified_emails, selected: @user.public_email),
      { include_blank: s_("Profiles|Do not show on profile") },
      { class: 'gl-form-select custom-select', disabled: email_change_disabled }
  %small.form-text.text-gl-muted
    = s_("Profiles|This email will be displayed on your public profile.")

.form-group.gl-form-group
  - commit_email_link_url = help_page_path('user/profile/index', anchor: 'change-the-email-displayed-on-your-commits')
  - commit_email_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: commit_email_link_url }
  - commit_email_docs_link = s_('Profiles|This email will be used for web based operations, such as edits and merges. %{commit_email_link_start}Learn more.%{commit_email_link_end}').html_safe % { commit_email_link_start: commit_email_link_start, commit_email_link_end: '</a>'.html_safe }
  = form.label :commit_email, s_('Profiles|Commit email')
  .gl-md-form-input-lg
    = form.select :commit_email,
      options_for_select(commit_email_select_options(@user), selected: @user.commit_email),
      {},
      { class: 'gl-form-select custom-select', disabled: email_change_disabled }
  %small.form-text.text-gl-muted
    = commit_email_docs_link
